#ifndef JAKETYPE_H
#define JAKETYPE_H


/*
*******************************************************************************
* ansi c source code
* file name:
*	JakeType.h
* abstract:
*	define data type to be used in the Jake.c and other files
* reference:
* author:Fangming He
*******************************************************************************
*/


/*
*******************************************************************************
*			           constants and define declarations
*******************************************************************************
*/
/* maximum number of oscillators used in the Jake's model */
#define MAX_OSCI_NUM	64


/*
********************************************************************************
* 		                        type defination
********************************************************************************
*/
typedef struct
{
	/* number of low-frequency oscillators */
	int		osci_num;
	/* rate of sampliing (Hz) */
	double	sample_rate;
	/* maximun Doppler frequence (Hz) */
	double	fd_max;
	/* the running time of Jake's model (second) */
	double	time;
	/* the time interval of sample points (second) */
	double	time_step;
	/* coefficients of the cosine function of the inphase component */
	double	cos_coef_i[MAX_OSCI_NUM];
	/* coefficients of the cosine function of the quadrature component */
	double	cos_coef_q[MAX_OSCI_NUM];
	/* doppler angle velocities in the cosine function */
	double	wd[MAX_OSCI_NUM];
	/* initial phases in the cosine function */
	double	init_phase[MAX_OSCI_NUM];
} JakeSt;


#endif
